import 'dart:io';

main() {
  print('程序开始，准备请求数据');
  requestData().then((res) {
    print(res);
  }).catchError((error) {
    print('请求数据失败：$error');
  }).whenComplete(() {
    print('结束，不管成功失败，都关闭加载弹窗');
  });
  print('其他的业务代码，不会被阻塞');
}

Future<String> requestData() {
  // 相当于鸿蒙的 return new Promise
  return new Future(() {
    // 模拟异步操作，比如请求数据
    sleep(Duration(seconds: 5));
    // return '后端返回的数据'; // 模拟成功
    throw '请求数据失败'; // 模拟失败
  });
}